// UVa10815 Andy's First Dictionary
// 陈锋
// 题意：输入一个文本，找出所有不同的单词（连续字母序列），按字典序从小到大输出。单词不分大小写。
#include <bits/stdc++.h>
using namespace std;

int main() {
  string s, buf;
  set<string> dict;
  while (cin >> s) {
    for (size_t i = 0; i < s.length(); i++)
      s[i] = isalpha(s[i]) ? tolower(s[i]) : ' ';
    stringstream ss(s);
    while (ss >> buf) dict.insert(buf);
  }
  for (set<string>::iterator sit = dict.begin(); sit != dict.end(); sit++)
    cout << *sit << endl;
  return 0;
}
/*
算法分析请参考: 《入门经典-第2版》例题5-3
注意本题中isalpha、stringstream以及set::iterator的使用
*/
// 24455797 10815 Andy's First Dictionary Accepted  C++11 0.020 2020-01-22 10:02:18